package com.ruoyi.common.utils;

import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

import java.util.HashMap;
import java.util.Map;

/**
 * @author bing.li
 * @date 2021/8/4  21:22
 */
public class TokenUtil {
    private static final  String SECERT = "qwertyuio";

    private static final String HEADER = "auth";

    private static final String APP_KEY ="LOGINKEY";


    public static String createToken(String token)
    {
        Map<String, Object> claims = new HashMap<>();
        claims.put(APP_KEY, token);
        return createToken(claims);
    }

    /**
     * 从数据声明生成令牌
     *
     * @param claims 数据声明
     * @return 令牌
     */
    private static String createToken(Map<String, Object> claims)
    {
        String token = Jwts.builder()
                .setClaims(claims)
                .signWith(SignatureAlgorithm.HS512, SECERT).compact();
        return token;
    }



    /**
     * 从令牌中获取数据声明
     *
     * @param token 令牌
     * @return 数据声明
     */
    public static String  parseToken(String token)
    {
        return Jwts.parser()
                .setSigningKey(SECERT)
                .parseClaimsJws(token)
                .getBody().get(APP_KEY).toString();
    }





}
